package com.proxy.demo04;

import com.proxy.demo02.IGamePlayer;

public class GamePlayer implements IGamePlayer {
    private String name;

    /*
     * 在构造函数中,传递进来一个 IGamePlayer,检查谁能创建真实的角色,当然还可以有其他的限制,
     * 比如类名必须为Proxy类等,读者可以根据实际情况进行扩展.
     */
    public GamePlayer(IGamePlayer iGamePlayer, String name) throws Exception {
        if (iGamePlayer==null) {
            throw new Exception("不能创建游戏玩家,需要通过代理创建游戏玩家");
        }else {
            this.name = name;
        }
    }

    public void login(String userName, String password) {
        System.out.println("登录用户名"+userName+"的用户"+this.name+"登录成功.");
    }

    @Override
    public void killBoss() {
        System.out.println(this.name + "在打怪");
    }

    @Override
    public void upgrade() {
        System.out.println(this.name +"又升了一级");
    }
}
